﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Viettel.VOFFICE.DAO.Models;

namespace Viettel.VOFFICE.Web.Models
{
    public class DocInboxModel : BaseModel
    {
        public DocInboxModel() { }
        public DocInboxModel(DocumentInbox document)
        {

        }

        public int Id { get; set; }
        [Required]
        [Range(1, int.MaxValue)]
        public int BookId { get; set; }
        public int CurrentNumber { get; set; }
        public string Code { get; set; }
        public string PaperCode { get; set; }
        [Required]
        public string Abstract { get; set; }
        public bool IsPackage { get; set; }
        public byte Status { get; set; }
        public DateTime? SignDate { get; set; }
        public string SignName { get; set; }
        public DateTime DocDate { get; set; }
        public int? DocTypeId { get; set; }
        public DateTime CreatedAt { get; set; }
        public DateTime UpdatedAt { get; set; }
        public Guid? CreatorId { get; set; }
        public int OfficeIdCreate { get; set; }
        public int? Priority { get; set; }
        public int? Security { get; set; }
        public int? ReceivedType { get; set; }
        public DateTime? DeadLine { get; set; }
        public string LeadMessage { get; set; }
        public int? SenderId { get; set; }
        public string SenderName { get; set; }
        public short? NumberOfDoc { get; set; }
        public short? PageOfDoc { get; set; }
        public int? CopyFromId { get; set; }
        public byte? Store { get; set; }
        public bool? IsReply { get; set; }
        public int? ReplyDocId { get; set; }
        public int? ReplyDocCode { get; set; }
        public int? DocOutboxId { get; set; }
        public bool? IsActive { get; set; }
        public bool? IsFinished { get; set; }

        public int DepartmentIdCreate { get; set; }

        public int? OuterOfficeIdSent { get; set; }
        public List<KeyValueModel> UploadedFiles { get; set; }
        public List<KeyValueModel> OfficePartnerList { get; set; }
        public int FlowId { get; set; }
    }
}